//另外你可以使用 defineConfig 工具函数，这样不用 jsdoc 注解也可以获取类型提示：
import { defineConfig } from 'vite'
import { resolve } from 'path'
import eslintPlugin from 'vite-plugin-eslint'
import dts from 'vite-plugin-dts'

//库模式
//当你开发面向浏览器的库时，你可能会将大部分时间花在该库的测试/演示页面上。在 Vite 中你可以使用 index.html 获得如丝般顺滑的开发体验。

//当这个库要进行发布构建时，请使用 build.lib 配置项，以确保将那些你不想打包进库的依赖进行外部化处理，例如 vue 或 react：
export default defineConfig({
	plugins: [
		eslintPlugin({
			include: ['src/**/*.ts', 'src/*.ts'],
		}),
		dts({
			entryRoot: resolve(__dirname, 'src')
		})
	],
	resolve: {
		// 配置路径别名
		alias: {
			'@': '/src',
		},
	},
	build: {
		minify: false,
		lib: {
			// Could also be a dictionary or array of multiple entry points
			entry: resolve(__dirname, 'src/DaoDaoMindMap.ts'),
			name: 'DaoDaoMindMap',
			// the proper extensions will be added
			fileName: 'DaoDaoMindMap',
		},
		rollupOptions: {
			// 确保外部化处理那些你不想打包进库的依赖
			external: ['fabric'],
			output: {
				// 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
				globals: {
					fabric: 'fabric',
				},
			},
		},
	}
})